//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;
//using FernUniHagen.CompilerExtension.Attributes;

//namespace LinqExampleW
//{
//    public class B
//    {
//        //The key for the qualifiedRelation
//        Key key;

//        [Any(typeof(List<>))]
//        B anyField;

//        //R-QVDecl
//        [Any(typeof(Dictionary<>), key)]
//        B a;

//        //R-QProp
//        [Any(typeof(Dictionary<>), key)]
//        public B anyKeyProp
//        {
//            get;
//            set;
//        }

//        //R-QMdecl
//        [Any(typeof(Dictionary<>), key)]
//        public B AnyKeyMethod(B d)
//        {
//            return a;
//        }

//        //R-QParam
//        public void AnyParameter([Any(typeof(Dictionary<>), key)]B d)
//        {
//            Key first = new Key(1);
//            Key second = new Key(2);

//            List<Key> twoKeys = new List<Key>() { first, second };

//            B value1 = new B();
//            B value2 = new B();

//            anyField += value1;
//            anyField += value2;




//            B noMultiplicity = new B();

//            //R-Q-Add1
//            d[first] += noMultiplicity;
//            //R-Q-Add2
//            d[twoKeys] += anyField;

//            //R-QSub1
//            -d[first];
//            //R-QSub2
//            -d[twoKeys];

//            //R-QELementAccess
//            var variable = d[first];
            
//        }

//        //Parameter



//    }

//    public class Key
//    {
//        int _index;

//        public Key(int index)
//        {
//            _index = index;
//        }
//    }
//}
